The present invention is directed to printer color calibration techniques, for determining printer response to input images, and more particularly, to a method of automatically creating color test patterns for selected variable print settings over the printer color gamut in which improved calibration is required.
The generation of color documents can be thought of as a two step problem: first, the generation of an image, for example, by scanning an original document with a color image input terminal or scanner, or creation of a color image on a work station operated in accordance with a color image creation program; and second, printing of that image with a color printer in accordance with colors defined by the scanner or computer generated image.
The problem is that scanner and computer program output is commonly provided in a color space of tristimulus appearance values, i.e., RGB (red-green-blue). Commonly, these values are a transformation of the standard XYZ coordinates of CIE color space. Color descriptions that can be uniquely and analytically transformed to XYZ are commonly referred to as, xe2x80x9cdevice independentxe2x80x9d.
Printers, however, commonly have an output that is defined as existing in a colorant-defined color space called CMYK (cyan-magenta-yellow-key or black) which is uniquely defined for the printer by its capabilities and colorants. Printers operate by the addition of multiple layers of ink or colorant in layers to a page. The response of the printer tends to be relatively non-linear. Colors are defined for a particular device, and accordingly reference is made to the information as being xe2x80x9cdevice dependentxe2x80x9d. Thus, while a printer receives information in a device independent color space, it must convert that information into a device dependent color space for printing, which reflects the gamut or possible range of colors of the printer. Printers may print with colorants beyond CMYK, for a variety of special purposes or to extend the device gamut.
The desirability of operating in a device independent color space with subsequent conversion to a device dependent color space is well known, as shown by U.S. Pat. No. 4,500,919 to Schreiber, U.S. Pat. No. 2,790,844 to Neugebauer, and U.S. Pat. No. 4,275,413 to Sakamoto and others. There are many methods of conversion between color spaces, all of which begin with the measurement of printer response to certain input values. Commonly, a printer is driven with a set of input values reflecting color samples throughout the printer gamut. Subsequently, the colorimetric response of the printers to the input value is measured, so that printed colors are mapped to device independent values. A table, mapping printer output values to colorimetric input values can be created.
In U.S. Pat. No. 4,275,413 to Sakamoto, the information derived is placed into look up tables, stored in a memory, perhaps ROM memory or RAM memory where the look up table relates input color space to output color space. The look up table is commonly a three-dimensional table since color is defined with three variables. In RGB space, at a scanner or computer, space can be defined as three-dimensional with black at the origin of a three dimensional coordinate system 0, 0, 0. White is represented at the maximum of a three dimensional coordinate system which in an B-bit system, would be located at 255, 255, 255. Each of the three axes radiating from the origin point therefore respectively defines red, green, and blue. In the 8-bit system suggested, there will be, however, over 16 million possible colors (2563). There are clearly too many values for a 1:1 mapping of RGB to CMY, CMYK or any other device dependent color space. Therefore, the look up tables provide a set of node values which could be said to be the intersections for corners of a set of colors distributed through the gamut of the input device. Colors falling within each three dimensional volume defined by a set of nodes can be interpolated from the node values, through many methods including tri-linear interpolation, tetrahedral interpolation, polynomial interpolation, linear interpolation, and any other interpolation method depending on the desired accuracy of the result. U.S. Pat. No. 5,483,360 to Rolleston, U.S. Pat. No. 5,649,072 to Balasubramanian, U.S. Pat. No. 5,739,927 to Maltz and Balasubramanian and 5,734,802 to Harrington et al. all provide further details regarding table construction. Calibration table construction is a time consuming process, due to the large number of samples that must be printed, scanned and evaluated. All of the immediately above patents note the problem that, after a change in process parameters due to time, change of materials, refilling toner, component aging, etc., a change in calibration is required, but perhaps only in a portion of the overall color gamut of a printer. U.S. Pat. No. 5,416,613 to Rolleston addresses the desire to create a calibration target or pattern, comprising a set of calibration patches or samples that provides xe2x80x9cchecksxe2x80x9d for machine operational defects, e.g., redundancy in color patches or samples is provided to assure that aberrations in printer response are not localized printer defects.
In addition to the problems of drifting or changing parameters, the actual creation of a calibration target or pattern can create problems. For example, colors, or halftones in portions of the printer gamut that stress the printer, might display xe2x80x9cnoisexe2x80x9d in their creation. Different halftones will create different stress areas. As an example, moirxc3xa9 between halftones in two separations, will have a relatively low frequency, and may not be apparent in a single color patch on a calibration target. However, the difference in color between the peak and the trough of the image due to such moirxc3xa9 will dramatically alter the color of the patch.
Such noise produces inaccuracies in the calibration table. If table calibration is based on such inaccuracies, the reproduction system will not work properly.
Models of printer behavior are often created to attempt to predict printer response. The use of such models, if accurate, could greatly simplify calibration. However, noise in the calibration process renders the models difficult to apply. One particular printer model is referred to as the Neugebauer model (Yule, xe2x80x9cPrinciples of Color Reproductionxe2x80x9d, John Wiley and Sons, 1967) that assumes that the color of the output print is a weighted average of a set of primary colors and white paper. The model describes the primary colors as overprinted masses of colorants C, M, Y, K. The model assumes an ideal printer for each primary color.
The references cited herein are incorporated by reference for their teachings.
In accordance with the invention, there is provided a method and apparatus for dynamically creating color calibration targets or patterns, generated based on particular variable print setting parameters selected.
Here we understand xe2x80x9cvariable print settingsxe2x80x9d to be all machine settings that can be explicitly or implicitly influenced by the operator and that directly or indirectly affect color reproduction. Color patterns or targets for calibration are created to optimize calibration based on a selected printer model and its selected printing capabilities, and comparisons to actual physical measurements. Here, we use the term xe2x80x9cprinter modelxe2x80x9d to comprehend predictive models, whether they are in analytical, numerical or any other implementable form.
In accordance with one aspect of the invention, there is provided a method for calibrating a printer comprising determining at least one variable print setting; using said determined settings to generate a setting dependent calibration sheet; measuring each printed color sample in said calibration sheet; using said measurements to generate a color calibration table for use by said printer in converting device independent colors to device dependent colors.
In accordance with yet another aspect of the invention, there is provided a method of calibrating a printer by printing a first set of color samples, generated in accordance with at least one variable print setting and representative of at least a portion of a printer gamut; comparing said first set of color samples with a predictive model of printer behavior for said portion of said printer gamut; generating a new set of color samples in areas where a difference between said first set of color and said predictive model is greater than desired; and using said first set of color samples and said new set of color samples to calibrate said printer.
Calibration of the entire space is costly in terms of processing time. It is desirable to only recalibrate a portion of the color space, or alternatively, to use the best portions of the color space mapping. It would also be desirable to base such calibration on a selected set of known printer parameters. It may also be desirable to improve the response in certain portions of the color space, perhaps by providing more sample information, at critical areas. In any case, there is often a need to provide a set of samples for calibration table generation or regeneration which test printer response to certain printer parameters, such as particular halftoning schemes, TRC curves, and the like. The invention allows a reduction in the effort needed to calibrate a printer, and a reduced need for expert intervention in the calibration process.
In practice an initial color calibration pattern is generated, in a dynamic manner, by either selecting from a set of pre-stored calibration patterns or by on-the-fly creation, based on printer parameters, and knowledge of how the printer should respond to those parameters. The resulting calibrations pattern and is printed and measured. As always, there is noise in the measurement and there are printer non-uniformities. These measurements will result in a table more accurately representing the color performance of any given printer.
After the first pattern is measured, the user has the option to use the current calibration or to fine-tune the calibration. In one use of the dynamically created calibration pattern or target, the initial measurement is analyzed, and the system determines problematic areas by comparison of the measurements with a printer model. A simple way to do this is to determine the change in gradient in color space of the calibration function as compared to an expected performance, or the change in curvature of the calibration function. This gives a strong indication of problems caused from noise (noise will introduce local deviations from a smooth behavior), and/or problems caused by printer halftoning problems. It should be noted that two identical color patches resulting in different measured responses is an obvious case for such a deviation. A dynamically generated calibration sheet will include more color patches in the appropriate regions of the printer operational parameters to either eliminate observed noise or improve the printer modeling. At the same time, the number of patches in smooth color space regions (estimated from the initial measurement) is reduced, thereby increasing the overall calibration efficiency.